package com.lancoo.lancooimageloader;

import android.widget.ImageView;

/**
 * Author: Andecy
 * Time: 2017/5/11
 * Email: andecy@foxmail.com
 * Description: TODO
 */

public interface LancooImageManager {

    /**
     * 最简单的加载图片方法.
     *
     * @param view 显示图片的ImageView
     * @param url  图片的路径
     *
     */
    void load(ImageView view, String url);

    /**
     * 含有设置项的加载图片方法.
     *
     * @param view 显示图片的ImageView
     * @param url  图片的路径
     * @param options  设置项
     *
     */
    void load(ImageView view, String url, LancooImageOptions options);

    /**
     * 含有回调的的加载图片方法.
     *
     * @param view 显示图片的ImageView
     * @param url  图片的路径
     * @param callback  图片加载状态回调
     *
     */
    void load(ImageView view, String url, LancooImageCallback callback);

    /**
     * 含有设置项与回调的加载图片方法.
     *
     * @param view 显示图片的ImageView
     * @param url  图片的路径
     * @param options  设置项
     * @param callback  图片加载状态回调
     *
     */
    void load(ImageView view, String url, LancooImageOptions options, LancooImageCallback callback);
//
    LancooCancelableCallback loadDrawable(String url, LancooImageOptions options, LancooImageCallback callback);
//
//    Callback.Cancelable loadFile(String url, LancooImageOptions options, Callback.CacheCallback<File> callback);

    /**
     * 清除内存缓存.
     */
    void clearMemCache();

    /**
     * 清除所有(内存&本地)缓存文件.
     */
    void clearCacheFiles();
}
